package com.hospital.hospitalsystem.modules.user.dao.mapper;

import com.hospital.hospitalsystem.modules.doctor.dto.*;
import com.hospital.hospitalsystem.modules.frontDesk.dto.SearchOrderListRsp;
import com.hospital.hospitalsystem.modules.frontDesk.dto.SearchOrderReq;
import com.hospital.hospitalsystem.modules.medicine.dto.ShowPrescriptionReq;
import com.hospital.hospitalsystem.modules.medicine.dto.ShowPrescriptionRsp;
import com.hospital.hospitalsystem.modules.user.dao.entity.BookEntity;
import com.hospital.hospitalsystem.modules.user.dto.ListBookReq;
import com.hospital.hospitalsystem.modules.user.dto.ListBookRsp;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.Date;
import java.util.List;

public interface BookMapper extends Mapper<BookEntity> {
    List<ListBookRsp> ListBookRsp(@Param("param") ListBookReq req);

    List<DoctorBookExt> selectDate(@Param("startWeek") Date startWeek, @Param("endWeek") Date endWeek, @Param("status") List<Integer> status,
                                   @Param("hospitalUuid") String hospitalUuid, @Param("doctorUuid") String doctorUuid);

    List<DoctorBookTmpExt> selectTmp(@Param("startWeek") Date startWeek, @Param("endWeek") Date endWeek, @Param("status") List<Integer> status,
                                     @Param("hospitalUuid") String hospitalUuid, @Param("doctorUuid") String doctorUuid);

    List<SearchOrderListRsp> getBook(@Param("param") SearchOrderReq req);

    List<DoctorNumberCheckExt> numberCheck(@Param("param") DoctorNumberCheckReq req);

    List<MessageBookUuidRsp> messageBookUuid(@Param("param") MessageBookUuidReq req);

    List<ShowPrescriptionRsp> showPrescription(@Param("param") ShowPrescriptionReq req);
}
